package com.yolo.yolorpc.registry;


import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;

/**
 * @Program: RPC
 * @description: 本地注册中心
 * @author: yolo
 * @create: 2025-04-18 17:59
 **/
public class LocalRegistry {

    /**
     * 存储注册信息
     **/
    private final static Map<String, Class<?>> map = new ConcurrentHashMap<>();

    /**
     * @descript: 注册服务
     * @author: yolo
     * @date: 2025/4/18 18:04
     * @param: serverName 服务名称
     * @param: implClazz 实现类字节码文件
     * @return: void
     **/
    public static void register(String serverName, Class<?> implClazz){
        map.put(serverName, implClazz);
    }

    /**
     * @descript: 获取服务
     * @author: yolo
     * @date: 2025/4/18 18:06
     * @param: serverName 要获取的服务名称
     * @return: Class<?> 实现类
     **/
    public static Class<?> get(String serverName){
        return map.get(serverName);
    }


    /**
     * @descript: 删除服务
     * @author: yolo
     * @date: 2025/4/18 18:07
     * @param: serverName 要删除的服务名称
     * @return: void
     **/
    public static void remove(String serverName){
        map.remove(serverName);
    }
}
